package ltd.newbee.mall.service;

import ltd.newbee.mall.entity.NewbeeMallSupplierInfo;
import ltd.newbee.mall.util.PageResult;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Optional;

/**
 * @ClassName: ISupplierInfoService
 * @Description: 供应商信息Service接口
 * @Author: Emily
 * @Date: 2022-09-03 10:35
 * @Version 1.0
 */
public interface ISupplierInfoService
{
    /**
     * 根据供应商ID查询供应商信息
     * @param supplierId 供应商ID
     * @return 供应商信息
     */
    Optional<NewbeeMallSupplierInfo> findById(String supplierId);

    /**
     * 根据供应商名称查询供应商信息
     * @param supplierName 供应商名称
     * @return 供应商信息
     */
    List<NewbeeMallSupplierInfo> findByName(String supplierName);

    /**
     * 查询所有供应商信息
     * @return 查询结果
     */
    List<NewbeeMallSupplierInfo> findAll();

    /**
     * 分页查询所有供应商信息
     * @param pageable 查询结果
     * @return 分页结果
     */
    Page<NewbeeMallSupplierInfo> findAll(Pageable pageable);

    PageResult getNewBeeMallSupplierPage(PageRequest pageRequest);

    /**
     * 新增供应商
     * @param newbeeMallSupplierInfo 新增的供应商信息
     * @return 供应商信息
     */
    String save(NewbeeMallSupplierInfo newbeeMallSupplierInfo);

    /**
     * 修改供应商信息
     * @param newbeeMallSupplierInfo 供应商信息
     * @return 供应商信息
     */
    String modify(NewbeeMallSupplierInfo newbeeMallSupplierInfo);

    /**
     * 根据ID删除供货商信息
     * @param supplierId 供货商ID
     */
    void deleteById(String supplierId);

}
